Continuous advancements in the speed of processors, system memory, and storage have allowed software developers to create programs of increasing complexity and usefulness. Concomitant with these advancements, problems have arisen with both the execution of the programs and with the interaction of the programs with each other and with the systems on which they execute. In response, software developers have created useful monitoring software and systems which alert program and system users to problems with the execution of the program or with its interaction with the system on which it executes. By alerting users to the problems and their nature, fixes may be arrived at more readily and with less inconvenience and down-time to users. Also, advancements in networking and client-server technologies have greatly improved monitoring programs and systems by allowing a computer system or environment other than the system with the problem to monitor and alert the system remotely.
Today, monitoring software and systems typically rely on the comparison of stored system and process metric data to pre-set “normal” performance values. Such pre-set values usually reflect an entity/enterprise's individual determination of what “normal” performance would be for the particular system or process metric. Except for information exchanged in conferences or via publication, there is little or virtually no real-time sharing or cooperation across entities/enterprises on the subject of information technology infrastructure management.